算法作曲历险记01-简史
AC 和 AC
Art & Code (AC)是 00 新开的坑,记录对一个陌生但好玩的领域的学习历程。算法作曲(Algorithmic Composition) 是 AC 中的 1 号 AC 坑……欢迎围观我在大雾中摸索、游荡。也欢迎老司机帮我带带路~
算法作曲 顾名思义,不是由人来作曲,而是经由设定好的算法,通过机器自动生成乐曲。
先别震惊,也别反感。我并不觉得机器会威胁人在音乐、艺术创造领域的优势。之所以研究算法作曲,纯粹出于对这两个领域的兴趣 —— 尤其是两个看似矛盾、对立的领域,碰撞在一起,一定有很嗨的火花吧!
音乐虽然在表象上是流动音响的时间艺术,然而,从其基础理论设计与数学逻辑同构并进行符号化组织的角度来看,似乎没有任何一门艺术,天生能比音乐拥有更强的可计算性。
——黄雷基 「算法作曲的前世、今生和未来——回溯」
站在坑口大概往里看了一眼,真是深不见底啊!基础乐理得学吧,作曲知识得学吧, DSP 得略懂一些吧,算法大概得了解吧,机器学习/深度学习得看看吧,工具和软件得试着用吧,前沿的项目得研究下吧……
一把年纪了怎么这么想不开?大概是年纪大了,更加觉得应该多花些时间在(起码看起来)好玩的事情上面……
系列第一篇,一起来回顾一下算法作曲并不长的历史。
算法作曲简史
1952 年,28 岁的列哈伦•希勒(Lejaren Hiller)告别了杜邦公司,怀揣一大笔奖金重返校园。在美国伊利诺伊大学,这位 23 岁就拿到博士学位的化学家,开始了对合成橡胶的研究。
也正是在同一年,第一台完全由美国大学研发的冯•诺伊曼式计算机 Illiac 正式亮相伊利诺伊大学。
得天独厚的希勒得以接触到电子计算机,并用它来计算统计意义上理想聚合分子的大小。他无意中发现,如果将控制变量由几何数变为音符,同样的计算机代码可以用于对位法谱曲。一向对音乐颇有兴趣的希勒开始不务正业,试着利用计算机来谱曲,他不仅在闲暇时间开始攻读音乐硕士学位,还把自己的助手——化学师里奥纳德•艾撒克逊(Leonard Isaacson)一同拉下了水。
1956年,在美国计算机协会(ACM)的一次会议上,希勒做了一场关于计算机创作音乐的报告。听众的反应不一,有趣的是,计算机专家们大多对此持非常开放的态度,音乐家们则显得更为谨慎,而很多其他领域的学者们却认为他完全是在胡说八道。
不管怎样,希勒的第一个作品在 1957 年诞生。
为了纪念用来作曲的计算机 Illiac,他为这支弦乐四重奏取名「依利亚克组曲」(Illiac Suite),这也是历史上第一支完全由计算机生成的音乐作品。
他们基于产生—测试的方法创作,首先使用 Markov 链模型来产生有限控制的随机音符,之后利用和声与复调的规则测试这些音符,最后选择符合规则的材料,修改、组合成传统音乐记谱的弦乐四重奏。
该作品分为四个乐章(上面是第一乐章):
第一乐章:计算机生成的不同长度的固定主题旋律
第二乐章:使用变奏的规则生成的四声部音乐
第三乐章:通过计算机对节奏、动态和演奏法的不同处理生成的音乐
第四乐章:通过衍生算法和马尔科夫链的不同模型及概率生成的音乐
希勒从此彻底投入计算机音乐创作的怀抱,他转入音乐系任教,成立实验性的音乐工作室。
随后希勒又开拓了他的很多个「第一次」,如最先进行乐谱打印,最早使用物理模型合成技术等,创作了「算法」系列,「计算机康塔塔」,「HPSCHD」等一系列计算机作曲的音乐作品。
从此之后,在计算机快速发展的黄金年代,算法作曲也在世界各地的领域先驱们推动下快速发展。
1960 年,俄罗斯研究者 R.Kh.Zaripov 发行了全世界第一篇关于用「Ural-1」计算机进行算法音乐作曲的论文 An Algorithmic Description of a Process of Musical Composition。
1960 年,法国工程师、作曲家 Pierre Barbaud 成为欧洲第一个使用计算机作曲的作曲家。
他创作了「7!」,在有限状态机 (Finite State Automata) 和随机矩阵 (Stochastic Matrices) 的帮助下,将一系列规则运用到 12 音体系中,以此为调性和序列音乐风格建模。
1965年,发明家 Ray Kurzweil 首次公演了一首用计算机来创作的钢琴作品,这台计算机能够对各种不同的乐曲进行模式识别,并且可以分析和使用这些模式去创造新的旋律。
1974年,第一次国际计算机音乐会议召开(ICMC)。
随着计算机相关技术的发展和普及,越来越多的人关注到这个科技与艺术奇妙结合的领域,于是在那个新生流派争奇斗艳的先锋实验年代,各式各样的作曲算法涌现出来。
然而直到美国作曲家大卫·科普(David Cope) 开发的「音乐智能实验」系统(Experiments in Musical Intelligence,简称 EMI,1981 年开始研究) ,1987 年在国际计算机音乐年会上第一次公开展示初期成果那时起,计算机音乐与传统音乐之间的桥梁才逐渐架设起来。
Cope 最初只想编写一个能够描述自己作曲风格的计算机程序,并用来记录自己作品的发展轨迹,不过很快他将目标转向了那些已故大师们,希望能用软件创造出带有不同大师风格的音乐作品。
该系统所采取的方法涉及音乐文法和建立风格数据库等, Cope 将这样的工作称为 recombinancy —— 在现存的音乐上加入新的、符合原有逻辑的演绎,从而创造出新的作品。
比如 David Cope 用 EMI 创作的维瓦尔第风格的十二首管弦乐作品:「星座」。下面将要听到的这首是 「金牛座」(视频也是用算法自动生成的):
https://v.qq.com/txp/iframe/player.html?vid=l0390knspvh&width=500&height=375&auto=0
1993年,美国科学家 John Al Biles 运用交互式遗传算法,设计了名为 GenJam 的交互式创作演奏系统。该系统能在现场演奏者的 4 或 8 小节演奏后单独生成一个类似风格的新旋律,也能与演奏者进行合奏,在演奏者演奏的同时生成并演奏一个新旋律。
随着计算机制谱、乐器数字接口、信号处理、声音分析等技术的研究和应用逐渐兴起和深入,计算机音乐已经成为一个跨学科、跨媒介、跨文化的艺术形式和科学领域。
这么好玩的坑,要入吗?
Reference
倪朝晖. (2015). 算法作曲理论与实践. 西南师范大学出版社
Illiac Suite | musicainformatica.org
Hoffmann, P. (2009). Music Out of Nothing? A Rigorous Approach to Algorithmic Composition by Iannis Xenakis. https://doi.org/http://dx.doi.org/10.14279/depositonce-2292
The History of Algorithmic Composition